package com.zygh.lz.entity.duty;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 勤务时段明细表(DutySchedule)实体类
 *
 * @author lee
 * @since 2022-09-20 09:18:53
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("duty_schedule")
@ApiModel(value = "DutySchedule对象",description = "勤务日程")
public class DutySchedule implements Serializable {
    private static final long serialVersionUID = -98292632140351665L;
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 勤务时段编号
     */
    @TableField(value = "code")
    @ApiModelProperty("勤务时段编号")
    private String code;
    /**
     * 勤务时段开始时间
     */
    @TableField(value = "start_time")
    @ApiModelProperty("勤务时段开始时间")
    private String startTime;
    /**
     * 勤务时段结束时间
     */
    @TableField(value = "end_time")
    @ApiModelProperty("勤务时段结束时间")
    private String endTime;
    /**
     * 签到开始时间
     */
    @TableField(value = "sign_in_start")
    @ApiModelProperty("签到开始时间")
    private String signInStart;
    /**
     * 签到结束时间
     */
    @TableField(value = "sign_in_end")
    @ApiModelProperty("签到结束时间")
    private String signInEnd;
    /**
     * 签退开始时间
     */
    @TableField(value = "sign_out_start")
    @ApiModelProperty("签退开始时间")
    private String signOutStart;
    /**
     * 签退结束时间点
     */
    @TableField(value = "sign_out_end")
    @ApiModelProperty("签退结束时间点")
    private String signOutEnd;
    /**
     * 自动签退时间点
     */
    @TableField(value = "signout")
    @ApiModelProperty("自动签退时间点")
    private String signout;
    /**
     * 自动签退时间cron表达式
     */
    @TableField(value = "cron")
    @ApiModelProperty("自动签退时间cron表达式")
    private String cron;
    /**
     * 自动签退cron表达式 注释
     */
    @TableField(value = "comment")
    @ApiModelProperty("自动签退cron表达式 注释")
    private String comment;
    /**
     * 勤务模式id
     */
    @TableField(value = "mode_code")
    @ApiModelProperty("勤务模式id")
    private Integer modeCode;
    /**
     * 1：夏秋季     2：春冬季   0:全季
     */
    @TableField(value = "season")
    @ApiModelProperty("1：夏秋季     2：春冬季   0:全季")
    private Integer season;
    /**
     * 1：早高峰  2：晚高峰  3：上午班  4：下午班
     */
    @TableField(value = "shiftop")
    @ApiModelProperty("1：早高峰  2：晚高峰  3：上午班  4：下午班")
    private Integer shiftop;
    /**
     * 最后修改时间
     */
    @ApiModelProperty("最后修改时间")
    private String lastTime;
    @ApiModelProperty("勤务备注")
    private String signComment;

    @ApiModelProperty("是否包含次日")
    private Integer morrow;

    @ApiModelProperty("签退开始时间是否包含次日")
    private Integer signOutStartMorrow;
    @ApiModelProperty("签退结束时间是否包含次日")
    private Integer signOutEndMorrow;
    @TableField(exist = false)
    private Integer pageSize = 10;
    @TableField(exist = false)
    private Integer pageNum = 1;

    @TableField(exist = false)
    private String modeName;
}

